﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Microsoft.Xna.Framework;

namespace XDL.Framework.Messaging
{
    /// <summary>
    /// Defines the interface required to listen to game events
    /// </summary>
    public interface IEventDispatcherClient
    {
        /// <summary>
        /// Listener ID
        /// </summary>
        int ID
        {
            get;
        }

        /// <summary>
        /// Callback to handle messages.
        /// </summary>
        /// <param name="msgId">Message identifier</param>
        /// <param name="e">Event parameters</param>
        /// <returns></returns>
        bool ProcessEvent(GameTime gameTime, int msgId, EventArgs e);
    }
}
